home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
short35.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
19KB
|
733 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "short.h"
T0* r30format_directory(T30* C,T0* a1){
T0* R=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,(((T7*)((C)->_sys_directory/*4*/))->_count/*4*/)+(10));
R=(T0*)n;
}
r7copy(((T7*)R),(C)->_sys_directory/*4*/);
r30parent_directory(C,R);
r30add_directory(C,R,((T0*)ms30_2875));
r30add_directory(C,R,a1);
return R;
}
void r30loading_path_add(T30* C,T0* a1,T0* a2,T2 a3){
T0* _line=NULL;
T0* _file=NULL;
/*[IF*/
if(((a3)>(5))||((r34count(((T34*)a1)))>(1024))){
r35w_put_string(((T0*)ms30_83580));
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,1024);
_line=(T0*)n;
}
r30append_lp_in(C,_line,a1);
r35w_put_string(_line);
exit(1);
}
/*FI]*/
{T31*n=malloc(sizeof(*n));
*n=M31;
/*[IRF3.1make*//*]*/
_file=(T0*)n;
}
r35sfr_connect((T35*)(oBC11echo),_file,a2);
/*[IF*/
if(/*(IRF4.7is_connected*/((((T31*)_file))->_path/*4*/)!=(NULL)/*)*/){
r35put_string((T35*)(oBC11echo),((T0*)ms30_25809));
r35put_string((T35*)(oBC11echo),a2);
r35put_string((T35*)(oBC11echo),((T0*)ms30_10070));
while (!(r31end_of_input(((T31*)_file)))) {
r31read_line(((T31*)_file));
_line=r7twin((T7*)(oBC32last_string));
/*[IF*/
if(r7has_suffix(((T7*)_line),((T0*)ms30_18194))){
r30loading_path_add(C,a1,_line,(a3)+(1));
}
else if(!(/*(IRF4.7empty*/((((T7*)_line))->_count/*4*/)==(0)/*)*/)){
r34add_last(((T34*)a1),_line);
}
/*FI]*/
}
r31disconnect(((T31*)_file));
}
/*FI]*/
}
/*No:SYSTEM_TOOLS.system_name*/
void r30parent_directory(T30* C,T0* a1){
/*[IF*/
if(r30slash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\57'))) {
r7remove_last(((T7*)a1),1);
}
}
else if(r30backslash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\134'))) {
r7remove_last(((T7*)a1),1);
}
}
else if(r30colon_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\72'))) {
r7remove_last(((T7*)a1),1);
}
}
else if((((T0*)ms30_756))==((void*)((C)->_system_name/*0*/))){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\56'))) {
r7remove_last(((T7*)a1),1);
}
r7remove_last(((T7*)a1),1);
r7extend(((T7*)a1),'\135');
}
/*FI]*/
}
/*No:SYSTEM_TOOLS.windows_system*/
/*No:SYSTEM_TOOLS.help_suffix*/
/*No:SYSTEM_TOOLS.fz_03*/
/*No:SYSTEM_TOOLS.vms_system*/
/*No:SYSTEM_TOOLS.fz_se*/
/*No:SYSTEM_TOOLS.beos_system*/
T0* r30get_environment_variable(T30* C,T0* a1){
T0* R=NULL;
T8 _p=0;
_p=r7to_external(((T7*)a1));
R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
return R;
}
/*No:SYSTEM_TOOLS.fz_sys*/
/*No:SYSTEM_TOOLS.fz_system_se*/
/*No:SYSTEM_TOOLS.fz_bin*/
/*No:SYSTEM_TOOLS.fz_loadpath_se*/
/*No:SYSTEM_TOOLS.dos_system*/
/*No:SYSTEM_TOOLS.sys_directory*/
/*No:SYSTEM_TOOLS.fz_b0*/
T0*oBC30system_list=NULL;
void r30read_loading_path_in(T30* C,T0* a1){
r30loading_path_add(C,a1,((T0*)ms30_18194),1);
r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms30_8613));
r7append((T7*)(((T0*)ms11_583550)),(C)->_system_name/*0*/);
r30loading_path_add(C,a1,((T0*)ms11_583550),1);
}
void r30bad_use_exit(T30* C,T0* a1){
r35w_put_string(((T0*)ms30_46940));
r35w_put_string(a1);
r35w_put_string(((T0*)ms30_303));
r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
r30parent_directory(C,((T0*)ms11_583550));
r30add_directory(C,((T0*)ms11_583550),((T0*)ms30_966));
r7append((T7*)(((T0*)ms11_583550)),a1);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms11_1632));
r35w_put_string(((T0*)ms30_39440));
r35w_put_string(((T0*)ms11_583550));
r35w_put_character('\n');
exit(1);
}
/*No:SYSTEM_TOOLS.amiga_system*/
void r30append_lp_in(T30* C,T0* a1,T0* a2){
T0* _sed=NULL;
T2 _i=0;
r7append(((T7*)a1),((T0*)ms30_12180));
_i=(((T34*)a2))->_lower/*12*/;
while (!((_i)>((((T34*)a2))->_upper/*8*/))) {
r7extend(((T7*)a1),'\40');
r7extend(((T7*)a1),'\42');
r7append(((T7*)a1),r34item(((T34*)a2),_i));
r7extend(((T7*)a1),'\42');
r7extend(((T7*)a1),'\n');
_i=(_i)+(1);
}
r7append(((T7*)a1),((T0*)ms30_33825));
_sed=r30get_environment_variable(C,((T0*)ms12_18788));
/*[IF*/
if((_sed)==((void*)(NULL))){
r7append(((T7*)a1),((T0*)ms30_5301));
}
else{
r7append(((T7*)a1),((T0*)ms30_138));
r7append(((T7*)a1),_sed);
r7append(((T7*)a1),((T0*)ms30_288));
}
/*FI]*/
}
void r30add_directory(T30* C,T0* a1,T0* a2){
/*[IF*/
if(r30slash_separator(C)){
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
else if(r30backslash_separator(C)){
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
else if(r30colon_separator(C)){
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
else if((((T0*)ms30_756))==((void*)((C)->_system_name/*0*/))){
r7set_last(((T7*)a1),'\135');
r7remove_last(((T7*)a1),1);
r7set_last(((T7*)a1),'\56');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\135');
}
/*FI]*/
}
void r30make(T30* C){
T2 _i=0;
T0* _system_se_path=NULL;
_system_se_path=r30get_environment_variable(C,((T0*)ms12_18788));
/*[IF*/
if((_system_se_path)==((void*)(NULL))){
_system_se_path=r7twin((T7*)(((T0*)ms12_18788)));
r7to_upper(((T7*)_system_se_path));
_system_se_path=r30get_environment_variable(C,_system_se_path);
/*[IF*/
if((_system_se_path)==((void*)(NULL))){
r35put_string((T35*)(oBC11echo),((T0*)ms30_226958));
_system_se_path=((T0*)ms30_132226);
r35put_string((T35*)(oBC11echo),_system_se_path);
r35put_string((T35*)(oBC11echo),((T0*)ms12_166));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r7has_suffix(((T7*)_system_se_path),((T0*)ms12_13428))){
r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,_system_se_path);
}
else{
r35put_string((T35*)(oBC11echo),((T0*)ms30_852461));
/*[IF*/
if(r7has(((T7*)_system_se_path),'\57')){
r35put_string((T35*)(oBC11echo),((T0*)ms30_26690));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\57');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\57');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\134')){
r35put_string((T35*)(oBC11echo),((T0*)ms30_38940));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\134');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\134');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\72')){
r35put_string((T35*)(oBC11echo),((T0*)ms30_32565));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\72');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\72');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\135')){
r35put_string((T35*)(oBC11echo),((T0*)ms30_20300));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\135');
r7remove_last((T7*)(((T0*)ms11_583550)),1);
r7extend((T7*)(((T0*)ms11_583550)),'\56');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\135');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
r35put_string((T35*)(oBC11echo),((T0*)ms30_8302));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
r35w_put_string(((T0*)ms30_720532));
exit(1);
}
/*FI]*/
r31read_line((T31*)(oBC11tmp_file_read));
C->_system_name=oBC32last_string;
_i=r34index_of((T34*)(oBC30system_list),(C)->_system_name/*0*/);
/*[IF*/
if((_i)>(((T34*)(oBC30system_list))->_upper/*8*/)){
r35w_put_string(((T0*)ms30_44196));
r35w_put_string(((T31*)(oBC11tmp_file_read))->_path/*4*/);
r35w_put_string(((T0*)ms30_23364));
_i=1;
while (!((_i)>(((T34*)(oBC30system_list))->_upper/*8*/))) {
r35w_put_string(r34item((T34*)(oBC30system_list),_i));
r35w_put_character('\n');
_i=(_i)+(1);
}
exit(1);
}
else{
C->_system_name=r34item((T34*)(oBC30system_list),_i);
r35put_string((T35*)(oBC11echo),((T0*)ms30_10175));
r35put_string((T35*)(oBC11echo),(C)->_system_name/*0*/);
r35put_string((T35*)(oBC11echo),((T0*)ms12_288));
}
/*FI]*/
C->_sys_directory=r7twin((T7*)(((T31*)(oBC11tmp_file_read))->_path/*4*/));
/*[IRF3.6remove_suffix*/{T7* C1=(T7*)((C)->_sys_directory/*4*/);
T0* b1=((T0*)ms12_13428);
r7remove_last(C1,(((T7*)b1))->_count/*4*/);
}/*]*/
r31disconnect((T31*)(oBC11tmp_file_read));
C->_bin_directory=r7twin((T7*)((C)->_sys_directory/*4*/));
r30parent_directory(C,(C)->_bin_directory/*8*/);
r30add_directory(C,(C)->_bin_directory/*8*/,((T0*)ms12_957));
}
/*No:SYSTEM_TOOLS.os2_system*/
T6 r30colon_separator(T30* C){
T6 R=0;
/*[IF*/
if((((T0*)ms30_12951))==((void*)((C)->_system_name/*0*/))){
R=1;
}
else if((((T0*)ms30_1356))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}
T6 r30slash_separator(T30* C){
T6 R=0;
/*[IF*/
if((((T0*)ms30_1336))==((void*)((C)->_system_name/*0*/))){
R=1;
}
else if((((T0*)ms30_2470))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}
T6 r30backslash_separator(T30* C){
T6 R=0;
/*[IF*/
if((((T0*)ms30_9331))==((void*)((C)->_system_name/*0*/))){
R=1;
}
else if((((T0*)ms30_708))==((void*)((C)->_system_name/*0*/))){
R=1;
}
else if((((T0*)ms30_654))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}
/*No:SYSTEM_TOOLS.unix_system*/
/*No:SYSTEM_TOOLS.exit_failure_code*/
/*No:SYSTEM_TOOLS.macintosh_system*/
/*No:SYSTEM_TOOLS.bin_directory*/
/*No:SYSTEM_TOOLS.tmp_path*/
T0* r69base_class(T69* C){
T0* R=NULL;
/*[IF*/
if(((T66*)(oBC11eiffel_parser))->_is_running/*8*/){
/*[IF*/
if(/*(IRF4.7empty*/(((T7*)(((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/))->_count/*4*/)==(0)/*)*/){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_57270);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
else if(r59is_used(((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/)){
R=r47base_class((T47*)((C)->_base_class_name/*0*/));
}
else{
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_57270a);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
else{
R=r47base_class((T47*)((C)->_base_class_name/*0*/));
}
/*FI]*/
return R;
}
/*No:POSITION.line*/
/*No:POSITION.base_class_name*/
void r69show(T69* C){
T0* _the_line=NULL;
T0* _str=NULL;
T0* _n=NULL;
T2 _nb=0;
T2 _c=0;
_n=((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/;
r36put_string((T36*)(oBC1std_error),((T0*)ms69_2195));
r36put_integer((T36*)(oBC1std_error),/*(IRF4.6line*/((C)->_mem_line_column/*4*/)/(1000)/*)*/);
r36put_string((T36*)(oBC1std_error),((T0*)ms69_5904));
r36put_integer((T36*)(oBC1std_error),/*(IRF4.6column*/((C)->_mem_line_column/*4*/)%(1000)/*)*/);
r36put_string((T36*)(oBC1std_error),((T0*)ms69_1156));
r36put_string((T36*)(oBC1std_error),_n);
_str=r69path(C);
/*[IF*/
if((_str)!=((void*)(NULL))){
r36put_string((T36*)(oBC1std_error),((T0*)ms69_150));
r36put_string((T36*)(oBC1std_error),_str);
/*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
T3 b1='\51';
putc(b1,((FILE*)(stderr)));
}/*]*/
}
/*FI]*/
r36put_string((T36*)(oBC1std_error),((T0*)ms69_318));
_the_line=r69get_line(C);
/*[IF*/
if((_the_line)!=((void*)(NULL))){
_c=/*(IRF4.6column*/((C)->_mem_line_column/*4*/)%(1000)/*)*/;
r36put_string((T36*)(oBC1std_error),_the_line);
/*[IRF3.4put_new_line*//*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
T3 b1='\n';
putc(b1,((FILE*)(stderr)));
}/*]*/
/*]*/
_nb=1;
while (!((_nb)==(_c))) {
/*[IF*/
if((/*(IRF4.6item*/((((T7*)_the_line))->_storage/*0*/)[(_nb)-(1)]/*)*/)==('\11')){
/*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
T3 b1='\11';
putc(b1,((FILE*)(stderr)));
}/*]*/
}
else{
/*[IRF3.6put_character*/{T36* C1=(T36*)(oBC1std_error);
T3 b1='\40';
putc(b1,((FILE*)(stderr)));
}/*]*/
}
/*FI]*/
_nb=(_nb)+(1);
}
r36put_string((T36*)(oBC1std_error),((T0*)ms69_214));
}
else{
r36put_string((T36*)(oBC1std_error),((T0*)ms69_63048));
r36put_string((T36*)(oBC1std_error),_n);
r36put_string((T36*)(oBC1std_error),((T0*)ms69_11));
}
/*FI]*/
}
T0* r69get_line(T69* C){
T0* R=NULL;
T2 _i=0;
T0* _p=NULL;
_p=r69path(C);
/*[IF*/
if((_p)!=((void*)(NULL))){
r31connect_to((T31*)(oBC11tmp_file_read),_p);
while (!((_i)==(/*(IRF4.6line*/((C)->_mem_line_column/*4*/)/(1000)/*)*/))) {
r31read_line((T31*)(oBC11tmp_file_read));
_i=(_i)+(1);
}
R=oBC32last_string;
r31disconnect((T31*)(oBC11tmp_file_read));
}
/*FI]*/
return R;
}
/*No:POSITION.column*/
T0* r69path(T69* C){
T0* R=NULL;
T0* _bc=NULL;
T0* _bcn=NULL;
_bcn=((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
/*[IF*/
if(r59is_used(_bcn)){
_bc=r47base_class((T47*)((C)->_base_class_name/*0*/));
}
else if(((T66*)(oBC11eiffel_parser))->_is_running/*8*/){
/*[IF*/
if((((T47*)(/*(IRF4.6current_class_name*/(((T22*)(((T66*)(oBC11eiffel_parser))->_last_base_class/*65*/)))->_name/*24*//*)*/))->_to_string/*0*/)==((void*)(_bcn))){
_bc=/*(IRF4.3current_class*/((T66*)(oBC11eiffel_parser))->_last_base_class/*65*//*)*/;
}
/*FI]*/
}
else{
_bc=r47base_class((T47*)((C)->_base_class_name/*0*/));
}
/*FI]*/
/*[IF*/
if((_bc)!=((void*)(NULL))){
R=(((T22*)_bc))->_path/*4*/;
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r69is_equal(T69* C,T0* a1){
T6 R=0;
R=(((((/*(IRF4.6line*/((C)->_mem_line_column/*4*/)/(1000)/*)*/)==(/*(IRF4.6line*/((((T69*)a1))->_mem_line_column/*4*/)/(1000)/*)*/))&&((/*(IRF4.6column*/((C)->_mem_line_column/*4*/)%(1000)/*)*/)==(/*(IRF4.6column*/((((T69*)a1))->_mem_line_column/*4*/)%(1000)/*)*/)))&&(((C)->_base_class_name/*0*/)!=((void*)(NULL))))&&(((((T69*)a1))->_base_class_name/*0*/)!=((void*)(NULL))))&&((((T47*)((C)->_base_class_name/*0*/))->_to_string/*0*/)==((void*)(((T47*)((((T69*)a1))->_base_class_name/*0*/))->_to_string/*0*/)));
return R;
}
void r69make(T69* C,T2 a1,T2 a2){
C->_mem_line_column=((a1)*(1000))+(a2);
C->_base_class_name=/*(IRF4.6current_class_name*/(((T22*)(((T66*)(oBC11eiffel_parser))->_last_base_class/*65*/)))->_name/*24*//*)*/;
}
/*No:POSITION.mem_line_column*/
void r69set_line_column(T69* C,T2 a1,T2 a2){
C->_mem_line_column=((a1)*(1000))+(a2);
}
void r69with(T69* C,T2 a1,T2 a2,T0* a3){
C->_mem_line_column=((a1)*(1000))+(a2);
C->_base_class_name=a3;
}
/*No:POSITION.fatal_error*/
/*No:RUN_FEATURE_9.use_current_state*/
/*No:RUN_FEATURE_9.actuals_clients*/
/*No:RUN_FEATURE_9.arguments*/
void r330initialize(T330* C){
C->_result_type=X270result_type((C)->_base_feature/*32*/);
C->_arguments=/*X270arguments*/((T0*)((T273*)((C)->_base_feature/*32*/))->_arguments/*20*/);
/*[IF*/
if(((C)->_result_type/*40*/)!=((void*)(NULL))){
/*[IF*/
if(X46is_like_argument((C)->_result_type/*40*/)){
/*[IF*/
if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T175*n=malloc(sizeof(*n));
*n=M175;
r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
C->_result_type=X46to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
}
else{
C->_result_type=X46to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T175*n=malloc(sizeof(*n));
*n=M175;
r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
else if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r175is_runnable((T175*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T175*n=malloc(sizeof(*n));
*n=M175;
r175with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
C->_require_assertion=X270run_require((C)->_base_feature/*32*/,(T0*)C);
C->_ensure_assertion=X270run_ensure((C)->_base_feature/*32*/,(T0*)C);
}
/*FI]*/
}
T0* r330start_position(T330* C){
T0* R=NULL;
R=X270start_position((C)->_base_feature/*32*/);
return R;
}
/*No:RUN_FEATURE_9.require_assertion*/
/*No:RUN_FEATURE_9.clients_memory*/
/*No:RUN_FEATURE_9.ucs_not_computed*/
/*No:RUN_FEATURE_9.current_type*/
void r330add_client(T330* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T321*n=malloc(sizeof(*n));
*n=M321;
r321with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r321fast_index_of((T321*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T321*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r321add_last((T321*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r310add_client((T310*)(r330run_class(C)),a1);
}
T0* r330run_class(T330* C){
T0* R=NULL;
R=X46run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_9.result_type*/
/*No:RUN_FEATURE_9.base_feature*/
/*No:RUN_FEATURE_9.ensure_assertion*/
void r330make(T330* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r317put(((T317*)(((T310*)(r330run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X77to_key(a2));
/*]*/
r59incr_magic_count((T59*)(oBC11small_eiffel));
C->_use_current_state=15;
r59push((T59*)(oBC11small_eiffel),(T0*)C);
r330initialize(C);
r59pop((T59*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_9.name*/
/*No:RUN_FEATURE_9.local_vars*/
T2 r330arg_count(T330* C){
T2 R=0;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
R=/*(IRF4.6count*/(((T179*)(((T175*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
}
/*FI]*/
return R;
}
T0* r330clients(T330* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X46base_class((C)->_current_type/*4*/);
_bfbc=/*X270base_class*/((T0*)((T273*)((C)->_base_feature/*32*/))->_base_class/*4*/);
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=/*X270clients*/((T0*)((T273*)((C)->_base_feature/*32*/))->_clients/*16*/);
}
else{
R=r22clients_for(((T22*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r330is_exported_in(T330* C,T0* a1){
T6 R=0;
R=r94gives_permission_to((T94*)(r330clients(C)),a1);
return R;
}
/*No:INTEGER_REF.item*/